1. Field of the Invention
This invention relates to computer systems and, more particularly, to installation of software components on computer systems.
2. Description of the Related Art
It is common practice for individuals and enterprises to enhance and improve the capabilities of computer systems by installing new or updated software components from time to time. However, due to the complexity inherent in modern software components, even the latest versions of software may require the application of up-to-the-minute updates and/or bug fixes. Often, updates are necessary to ensure that a software product complies with the latest security and functional specifications. For example, many vendors suggest that customers check for updates immediately after installing new software. Typically, a user obtains a complete image of the desired software and executes the installation. Then, the user checks for a later version of one or more components of the software via the internet or other network connection, downloads any available updates, and patches the installed software in place or, if necessary, performs a completely fresh installation. Unfortunately, if a security update is needed, the time between an initial installation and application of a patch may present a window of security vulnerability. Also, it is not uncommon for users to forget to check for updates and leave their software out-of-date and vulnerable.
In addition, there may be times when defects are discovered in a software product installer itself, complicating the process of installing a fix, especially if the product is being installed from static media (e.g., CD or DVD) or from a commonly used network share. The approach described above may not be suitable for defects that affect the installer itself. In addition, any of the above scenarios may require the performance of time and resource-wasting multiple installations. For example, prior to installation, a system or user, automatically or manually, may check for a newer version of the install image via the Internet. If a newer version is available, a complete replacement image may be downloaded and executed. All of the above solutions may waste time and system resources, especially in enterprises that support large numbers of computer systems. In addition, various subscription-based programs may be employed to update previously installed programs, such as Symantec LiveUpdate. However, these programs may be unsuitable for applying updates at install time.
In view of the above, an effective system and method for ensuring that the latest versions of software are available for installation that accounts for these issues are desired.